System and method for interoperable mobile wallet

ABSTRACT

A computer system includes one or more processors and machine readable storage media coupled to the one or more processors having instructions stored therein. The instructions cause the computer system to: receive a request for a code on behalf of the payor; route the request to a first computing system; receive, from a second computing system, a message including a payee identifier and the code that includes account information of the payor; identify the first computing system based on the code; route the code and the payee identifier to the first computing system; receive, from the first computing system, the account information of the payor based on the code; and route the account information of the payor to the second computing system to process a payment from the payor to the payee.

CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This application is a Continuation of U.S. patent application Ser. No.17/693,090, filed Mar. 11, 2022, which is a Continuation of U.S. patentapplication Ser. No. 16/538,382, filed Aug. 12, 2019, which is aContinuation of U.S. patent application Ser. No. 13/831,563, filed Mar.14, 2013, which claims the benefit of and priority to U.S. ProvisionalApplication No. 61/738,310, filed Dec. 17, 2012, all of which areincorporated herein by reference in their entireties.

FIELD

The present disclosure relates generally to the field of systems thatuse mobile devices to transfer funds. More specifically, the presentdisclosure relates to systems and methods for enabling individuals touse their electronic devices to transfer funds and purchase products andservices.

BACKGROUND

Payments for products and services are often completed using creditcards, debit cards, checks or cash. At the same time, most people carrysome type of mobile handheld electronic device, such as a cellularphone, smart phone, mobile handheld wireless e-mail device, personaldigital assistant, portable gaming devices, and so on. Most of thesedevices tend to have a wireless internet connection. A person may wishto make payments to merchants or other individuals using these mobiledevices. Likewise, a person may wish to transfer funds to otherindividuals using their mobile devices. Enhanced systems and methods offacilitating such transactions would be desirable.

SUMMARY

One embodiment includes a computer-implemented method for providing acomputer-implemented system and method that includes receiving via amessaging hub a code and an identifier for a merchant from a firstfinancial institution, determining, by the messaging hub, a secondfinancial institution based at least partially on the code, sending thecode and the merchant identifier to the second financial institution,and receiving from the second financial institution account informationto be sent to the first financial institution. The system and methodincludes sending the account information to the first financialinstitution to allow the first financial institution to process thepayment from an account held by a user to an account held by themerchant.

One embodiment includes a computer system that includes a processorcoupled to machine readable storage media having instructions storedtherein that, when executed by the processor, cause the processor toreceive via a messaging hub a code and an identifier for a merchant froma first financial institution. The processor configured to determine, bythe messaging hub, a second financial institution based at leastpartially on the code, send the code and the merchant identifier to thesecond financial institution and receive from the second financialinstitution account information to be sent to the first financialinstitution. The processor configured to send the account information tothe first financial institution to allow the first financial institutionto process the payment from an account held by a user to an account heldby the merchant.

A computer-implemented method for performing a transaction, the methodincludes receiving, by a bank system, a request to perform thetransaction between a user of a mobile wallet application and amerchant, sending a code to the mobile wallet application, receiving thegenerated code and a merchant identifier from a messaging hub, verifyingthe authenticity of the code based at least partially on when the codewas sent to the mobile wallet application and the code is previouslyunused. The method includes sending payment information and merchantrelated loyalty information to the messaging hub after determining theauthenticity of the code; and sending funds to the merchant for thetransaction.

Another embodiment includes a method for receiving, by a messaging hubcomputer system, a code from a first financial institution computersystem, identifying, by the messaging hub computer system, a secondfinancial institution based at least partially on the code. The methodincludes sending, by the messaging hub computer system, the code to asecond financial institution computer system, and receiving, from thesecond financial institution computer system, account information for anaccount held by a payor to be sent to the first financial institutioncomputer system. The method further includes, sending, by the messaginghub computer system, the account information to the first financialinstitution computer system to allow the first financial institution toprocess the payment from the account held by the payor to an accountheld by a merchant.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of a computer-implemented paymentprocessing system according to an example embodiment.

FIG. 2 is a process implemented by the payment processing system of FIG.1 to create a mobile wallet account.

FIGS. 3A-3C are processes implemented by the payment processing systemof FIG. 1 to transmit funds to a recipient.

FIG. 4 is a flow diagram of a payment channel according to an exampleembodiment.

FIG. 5 is a flow diagram showing payment to a retail merchant at thepoint of sale using a mobile wallet.

FIG. 6 is a flow diagram showing person to person payment within anonline community and with another online community.

FIG. 7 is a flow diagram indicating multiple channels of payments thatmay be made using the mobile wallet account as shown in the embodimentsof FIGS. 4-6 .

FIG. 8 is a screen shot prompting a user to enter login information forthe mobile wallet application on a mobile device of the user.

FIG. 9 is a screen shot showing a first menu in the mobile walletapplication.

FIG. 10 is a screen shot showing a start transaction portion of themobile wallet application.

FIG. 11 is a screen shot prompting the user to enter informationregarding an individual recipient.

FIG. 12 is a screen shot prompting the user to select a recipient from alist of contacts.

FIG. 13 is a screen shot showing the user choosing an example contactinformation for “John Appleseed”.

FIG. 14 is a screen shot prompting the user to user enter a numericalpasscode.

FIG. 15 is a screen shot showing the account details from FIG. 9 .

FIG. 16 is a screen shot prompting the user to load funds into themobile wallet account.

FIG. 17 is a schematic diagram of a computer-implemented paymentprocessing system according to an example embodiment.

FIG. 18 is a process implemented by the payment processing system ofFIG. 17 .

FIG. 19 a is a process implemented by the payment processing system ofFIG. 17 .

FIG. 19 b is a process implemented by the payment processing system ofFIG. 17 .

FIG. 20 is a process implemented by the payment processing system ofFIG. 17 .

FIG. 21 is a process implemented by the payment processing system ofFIG. 17 .

FIG. 22 is a process implemented by the payment processing system ofFIG. 17 .

FIG. 23 is a process implemented by the payment processing system ofFIG. 17 .

FIG. 24 is a screen shot showing a user choosing the default financialinstitution account for the mobile wallet application.

FIG. 25 is a screen shot showing a user verifying the default financialinstitution account choice.

FIG. 26 is a screen shot showing a user linking a merchant loyalty cardwith the mobile wallet account.

FIG. 27 is a screen shot showing QR code that may be scanned by amerchant to process financial transactions.

FIG. 28 is a schematic diagram of a computer-implemented paymentprocessing system according to an example embodiment.

FIG. 29 a is a process implemented by the payment processing system ofFIGS. 1, 17 and 28 .

FIG. 29 b is a process implemented by the payment processing system ofFIGS. 1, 17 and 28 .

FIG. 30 a is a process implemented by the payment processing system ofFIGS. 1, 17 and 28 .

FIG. 30 b is a process implemented by the payment processing system ofFIGS. 1, 17 and 28 .

DETAILED DESCRIPTION

Referring to FIG. 1 , a computer-implemented payment processing system100 is shown that may be used to set up and utilize a mobile walletaccount. The user may be a business entity and/or an individual consumerthat has one or more source accounts with a financial institution. Thesource accounts may include business or consumer demand depositaccounts. The source accounts may also includes credit accounts such ascredit cards, lines of credit, and so on The mobile wallet account canbe created for the user to transmit funds from a source account inreturn for purchase of goods or services to a merchant. Additionally,funds can be transferred from the source account to another person.

Payment processing system 100 may include, among other systems, anonline community computer system 105, a mobile device 110, mobile walletbank computer system 120, source account bank computer system 130, afund recipient computer system 140, and a payment network 150. Theonline community computer system 105, the mobile device 110, the mobilewallet bank computer system 120, the source account bank computer system130, and the fund recipient computer system 140 may communicate througha network 160, which may include one or more of the Internet, cellularnetwork, Wi-Fi, Wi-Max, a proprietary banking network, and so on. Theonline community computer system 105, the mobile wallet bank computersystem 120, the source account bank computer system 130, and the paymentnetwork 150 may each comprise a computer system (e.g., one or moreservers each with one or more processors) configured to executeinstructions, send and receive data stored in memory, and perform otheroperations to implement the operations described herein associated withlogic or processes shown in FIGS. 2A through 16 .

The online community computer system 105 implements an online communityof individuals. The online community may be any internet destination(e.g., website) where users may obtain user names/login IDs or otherwisebecome registered members. The individuals may, for example, use theonline community to interact with each other and/or to interact with aservice provided by the online community computer system 105. Examplesof online communities include MSN®, iPhone® users, Facebook®, LinkedIn®,and so on.

Members of the online community may be offered mobile wallet accounts asa service that is available through the online community. The mobilewallet accounts, for example, may be created through the onlinecommunity, may be accessible through the online community, may bebranded with the trademarks of the online community, and so on. Althoughin the illustrated embodiment the mobile wallet account is created andaccessed through an online community, it will be appreciated that themobile wallet account may be established in other ways, for example,through an online banking area of a web site of the banking institutionthat operates the mobile wallet bank computer system 120 and thatmaintains the mobile wallet account.

The mobile device 110 may be used by an individual user (e.g., abusiness owner or employee, a consumer, and so on) to create andinteract with a mobile wallet account. The mobile device 110 may, forexample be, a cellular phone, smart phone, mobile handheld wirelesse-mail device, personal digital assistant, portable gaming devices, orother suitable device. The mobile device 110 comprises a networkinterface logic 112, a display device 114, an input device 115, and amobile wallet client application 116. Network interface logic 112 mayinclude, for example, program logic that connects the mobile device 110to the network 160. As described in greater detail below, for example,the mobile device 110 may receive and display screens including accountinformation, transaction instructions, and so on. In an exampleembodiment, such screens may be used to request a username and passwordinformation. Such screens may also be used to prompt the user to provideinformation regarding the amount of the payment and which merchant orindividual (e.g., name, address, phone number or e-mail, a selection ofa recipient by the user from his memory or from by the user from themobile device 110, and so on) is to receive the payment. Such screensare presented to the user via the display device 114. The input device115 may be used to permit the user to initiate account access and tofacilitate receiving requested information from the user. As will beappreciated, in addition to or instead of the mobile device 110, usersmay also be provided with the ability to access the payment processingsystem 100 using another type of computer (e.g., a desktop or laptopcomputer executing browser software) to perform the operations describedherein as being performed by the mobile device 110.

The mobile wallet client application 116 may comprise program logicexecutable by the mobile device to implement at least some of thefunctions described herein. As will be appreciated, the level offunctionality that resides on the mobile device 110 as opposed to theonline community computer system 105 may vary depending on theimplementation. The mobile wallet client application 116 may simply be aweb browser that is configured to receive and display mobile web pagesreceived from the online community computer system 105 (e.g. web pagesprompting the user to provide information to create an account, webpages displaying account balance information and past transactions, andso on). The mobile wallet client application 116 may also include acode/token generator capable of generating a unique code/token for eachtransaction. As described below, the unique code/token may then betransmitted by the mobile device 110 as part of a transaction tofacilitate authentication of the transaction. As will be appreciated,the user may also use other devices (e.g., laptop or desktop computersystem, not shown) to create and access accounts through the onlinecommunity.

In another embodiment, the mobile device 110 may be connected to anothermobile device that cooperates with the mobile device 110 to provide thefunctionality described herein. For example, the other mobile device maybe a wrist watch or a small object with a small screen that a person canwear (e.g. pendant, ring, etc.). The other mobile device can beconfigured to wirelessly communicate with the mobile device 110 toreceive and send updates regarding mobile wallet activities. The othermobile device may display information that is otherwise described hereinas being displayed by display 114. For example, the other mobile devicemay display messages to the user regarding various offers, receipts andactivities. The user may speak a message to the other mobile device tostore the message in the mobile device 110. The other mobile device mayhave a processor that is configured to store information in memory. Theother mobile device may include a alphanumeric keyboard and also displaytime, temperatures, and weather information which can be updated fromthe mobile device 110.

The mobile wallet bank computer system 120 includes account processinglogic 122, an accounts database 124, network interface logic 127, and anaccount directory 129. In an example embodiment, the computer system 120is operated by a first banking entity that maintains and handlestransaction processing for the mobile wallet accounts. For example, themobile wallet accounts may be created via interaction of the mobilewallet application 116 with the mobile wallet bank computer system 120.The user may or may not have conventional bank accounts with the bankingentity that maintains the computer system 120. If the user does not havebank accounts with the entity that maintains the computer system 120,then accounts associated with another banking entity may also be used,as described below. As another example, the mobile wallet accounts maybe created and accessed through the online community, as previouslyindicated. Again, in such an embodiment, the flow of funds into and outof the mobile wallet accounts may also be processed by the first bankingentity using the mobile wallet bank computer system 120.

The computer system 120 is configured to store information regardingmobile wallet accounts. By way of example, information for a specificmobile wallet account, designated by reference numeral 125, is shown asbeing stored in a database 124. As will be appreciated, database 124 mayalso store information regarding many other mobile wallet accounts (notshown). As will also be appreciated, the extent to which transactiondetails are tracked and maintained in the account processing logic 122as compared to the extent to which transaction details are tracked andmaintained by the online community computer system 105 may varydepending on the implementation.

The mobile wallet account 125 holds funds that are transmitted to arecipient computer system 140 upon receiving instructions from the userthrough the mobile device 110. As described below, funds flow into andout of the mobile wallet account 125 through the payment network 150.The mobile wallet account 125 is connected to the online communitycomputer system 105 and the payment network 150 through the network 160.Network interface logic 127 may include, for example, program logic thatconnects the computer system 120 to the network 160. The mobile walletaccount logic also includes an account directory 129. As discussed ingreater detail below, the account directory 129 can maintain correlatinginformation regarding a potential recipient's phone number, address ore-mail address, e.g., to facilitate transferring funds to individualswhere account information is not known.

The source account bank computer system 130 includes account processinglogic 132, an accounts database 134, and network interface logic 137.The bank account logic 139 may be operated by a second banking entitythat maintains and handles transaction processing for source accounts.In an example embodiment, as previously indicated, during creation ofthe mobile wallet account 125, the user may be prompted to identify asource account 135, that is, a source of funds for the mobile walletaccount. The source account 135 may be an existing demand depositaccount held by the user with another financial institution. When themobile wallet account 125 is created, the user is prompted to providebank account information (e.g., routing number and/or account number)for the source account 135 that is used as a source of funds for themobile wallet account 125. Thus, the financial institution that providesthe mobile wallet account 125 for the user (through the onlinecommunity) and the financial institution that typically provides bankingservices to the user may be two different financial institutions.Although in the illustrated embodiment the computer systems 120 and 130are shown as being separate and as communicating through the Internet,it will be appreciated that the computer systems 120 and 130 may also beintegrated in a single payment processing system (e.g., if the twofinancial institutions are the same).

The fund recipient computer system 140 may be configured in generallythe same manner as the other computer systems described herein. Forexample, if the fund recipient is an individual, the computer system 140may be another mobile device, such as a cellular phone, smart phone,mobile handheld wireless e-mail device, personal digital assistant,portable gaming devices, or other suitable device. If the fund recipientis a merchant (e.g., a brick and mortar merchant, a retail website orother online merchant, etc.), the computer system 140 may comprise acomputer system (e.g., one or more servers each with one or moreprocessors) configured to execute instructions, send and receive datastored in memory, and perform other operations to implement theoperations described herein associated with the fund recipient.

The payment system 150 is used to transmit funds from the source account135 to the mobile wallet account 125 and from the mobile wallet account125 to the recipient computer system 140 (either directly or indirectlythrough the online community). In one embodiment, the payment system 150is the Automated Clearing House network. As is known, the ACH Network isa nationwide batch-oriented electronic funds transfer system whichprovides for interbank clearing of electronic payments for participatingdepository financial institutions. An ACH entry can start with anaccount holder (known as the Receiver in ACH terminology) authorizing anOriginator (e.g., a person or a company) to issue ACH debit or credit toan account. Depending on the ACH transaction, the Originator mustreceive authorization from the Receiver. In accordance with the rulesand regulations of ACH, no financial institution may issue an ACHtransaction (whether it be debit or credit) towards an account withoutprior authorization from the Receiver. Once authorization is received,the Originator then creates an ACH entry to be given to an OriginatingDepository Financial Institution (ODFI), which can be any financialinstitution that does ACH origination. This ACH entry is then sent to anACH Operator (i.e., central clearing facilities through which financialinstitutions transmit or receive ACH entries, e.g., the Federal Reserveor the Electronic Payments Network) and is passed on to the ReceivingDepository Financial Institution (RDFI), where the Receiver's account isissued either a credit or debit, depending on the ACH transaction. TheRDFI may, however, reject the ACH transaction and return it to the ODFIwith the appropriate reason, such as that there were insufficient fundsin the account or that the account holder indicated that the transactionwas unauthorized. An RDFI has a prescribed amount of time in which toperform returns (e.g., two to sixty days from the receipt of the ACHtransaction). An ODFI receiving a return of an ACH entry may representthe ACH entry two more times, or up to three total times, forsettlement. Again, the RDFI may reject the transaction, after which theODFI may no longer represent the transaction via ACH. The abovedescription of ACH system is one in use currently, the embodiments willcontinue to function similarly even if some methods and steps in the ACHsystem are modified.

FIG. 2 is an example process that can be implemented by the paymentprocessing system 100 of FIG. 1 to create a mobile wallet account 125.At step 211, the user is prompted to provide information to create amobile wallet account. For example, if the mobile wallet is providedthrough the online community, the user may be prompted to register withthe online community if the user has not already done so. The user mayalso be prompted to provide information to create a user profile, suchas information regarding the source account 135 (e.g., bank accountnumber and routing information, credit card or debit card number, etc.).At step 213, the user profile is stored based on input received from theuser. At step 215, the mobile wallet account 125 is funded. The fundscan be received by the mobile wallet account 125 from the source account135 through the ACH system 150. In other embodiments, the mobile walletaccount 125 can receive funds from any source of funds, such asbrokerage accounts, bank accounts, credit card accounts, retirementaccount, and so on.

Referring next to FIGS. 3A-3C, various examples in which payments aremade from the mobile wallet account 125 are shown. In FIG. 3A, a paymentis made to a merchant (e.g., a “brick and mortar” merchant) and themobile device 110 is present at the point of sale. At step 311, the codegenerator 118 of the mobile device 110 generates a unique code for atransaction at a point of sale location. As described in connection withFIG. 10 below, the unique code may be embedded in a bar code which isread by a bar code scanner operated by the merchant at step 313. Forexample, successful authentication of the unique code by the computersystem 120 may be necessary for successful completion of the transactionby the merchant. Upon successful authentication, the computer system 120may transmit a message to the merchant indicating that the transactionis “approved.” Next, in step 315, funds are transferred using the ACHsystem 150 to the merchant. In yet another embodiment, the code can betransmitted via radio frequency (Bluetooth, RFID, NFC and the like) to ascanner at the point of sale. In yet another embodiment, the code may bean image that is a bar code, two dimensional bar code (QR code), a twodimensional bar code that includes color and/or time. When the code issent to the account processing logic 122 by the recipient as a requestfor funds, the account processing logic 122 recognizes the transactionusing the code and transmits an appropriate amount of funds to therecipient. After the transaction is complete, a SMS confirmation of thetransaction may be sent in real time to the mobile device 110.

As another example, a user may use the mobile device 110 to make apayment to an online merchant. In such an embodiment, payment throughthe payment processing system 100 may be offered to the user as apayment option at checkout. If the user accesses the online merchantthrough by way of the online community computer system 105, then theuser may be authenticated by virtue of having provided username andpassword information to the online community computer system 105. Asanother option, rather than the barcode that is generated in step 311 ofFIG. 3A, the mobile device 110 may generate a unique code for atransaction which may then be keyed in by the user. Such an arrangementmay also be implement to implement payments between members of on-linecommunities (e.g., MSN®, iPhone® users, Facebook®, LinkedIn®, and soon). In an example embodiment, an application programming interface(API) may be provided for the payment processing system 100 which may beaccessed by the online merchant in programming the computer system 140to accept payments via the payment processing system 100.

In FIG. 3B, a payment is made to another individual (a “person toperson” payment). As shown in FIG. 3B, in step 321, a request for atransfer of funds from an individual to another individual is receivedfrom the mobile device 110 of the user. The request may include, forexample, the other individual's e-mail or phone number or a token. Dueto privacy concerns, a person may not want to share their account numberwith other individuals. However, oftentimes a person is willing to sharemore publicly available information, such as a name, address, E-mail ora telephone number. By using a combination of the above attributes aboutan individual, the mobile wallet application 116 can transmit funds orat least a notification to the recipient individual of the request forthe fund transfer. The account directory 129 maintains information thatcorrelates such information (i.e., the other individual's e-mail orphone number or a token) with more specific information identifying amobile wallet account associated with the recipient. Thus, using theaccount directory 129, the mobile wallet account information of therecipient is identified at step 323. The funds are then transferred tothe mobile wallet account of the recipient using the ACH system 150 atstep 325. In yet another embodiment, instead of using the recipientsphone number or E-mail, the recipient can provide the sender with atoken or code for sending funds to the mobile wallet account of therecipient.

In FIG. 3C, the user attempts to make a payment to a recipient that doesnot have a pre-registered mobile wallet account. As shown in FIG. 3C, instep 331, a request for a transfer of funds from an individual toanother individual is received from the mobile device 110 of the user.In step 333, it is determined based on the account directory 129 thatthe recipient is not a mobile wallet account holder. In step 335, theintended recipient is notified of the attempt to transfer funds, and isprompted to create a mobile wallet account. The notification can be viae-mail, mail or phone, for example. In yet another embodiment, therecipient can request that the funds be delivered to a bank nearby andpick up the funds from the banking institution. The recipient can alsochoose to provide their bank account information such as routing numberand account number. At step 337, the funds are transferred to therecipient from the mobile wallet account 125 using the ACH system 150.

FIG. 4 shows a flow diagram of a payment channel of an exampleembodiment. A consumer 410 can sign up with an online community 412 andset up a mobile wallet account 414. The mobile wallet account 414 isfunded from a source account 416 through the ACH system 424, aspreviously described. Information stored in connection with the mobilewallet account 414 includes information regarding account balance,pending transactions, receipt of payment, and so on. A consumer 410 canuse the mobile wallet account 414 to purchase items or services fromonline merchants 420 and 422, which may have an agreement with theonline community provider and be considered to be affiliated. When atransaction is conducted online, the immediate recipient may be theonline community provider. The online community provider may thenaggregate funds to different merchants received from different membersof the online community. The system disclosed in FIG. 4 can be used as alower-cost alternative payment channel when a consumer is shoppingonline using either the mobile wallet account 414 or on the OnlineCommunity networks. For merchants 420 and 422, receiving paymentsthrough the ACH system 424 avoids interchange fees associated withcredit card networks.

FIG. 5 shows a flow diagram of an alternative payment channel that canbe used when a consumer with a mobile device 510 with a mobile walletclient application goes to retail merchant 520 to purchase items orservices using a mobile wallet account 530. As described above inconnection with FIG. 3A, to facilitate this transaction, a code/tokengenerator can create a unique code or token for the retail merchant toscan. The code can be communicated in the form of a scanned bar code, atransmitted radio frequency signal, or in another form. The retailmerchant 520 can transmit the unique code to a bank that maintains themobile wallet account 530. Upon receiving approval for the transactionfrom the bank, funds are transferred from the mobile wallet account 530to the retail merchant 520 via the ACH system 540. Transaction costs forthe retail merchant 520 are lower because interchange fees associatedwith credit card networks are avoided.

FIG. 6 is a flow diagram showing a first example embodiment of howperson-to-person payments can be made using mobile wallet accounts. Asdescribed above, mobile wallet accounts 602, 604 and 622 may be createdthrough online communities. In the example of FIG. 6 , multiple onlinecommunities are shown, and payments are made to recipients in each ofthe online communities. Hence, mobile wallet accounts 602 and 604 arecreated through a first online community 601, and mobile wallet account622 is created through a second online community 620. In the example ofFIG. 6 , the mobile wallet accounts for both the first and second onlinecommunities 601 and 620 are maintained by a single bank 610. The bank610 maintains an information directory 614 that can correlate e-mail,phone number and/or other individual identifying information with amobile wallet account. This allows the sender to identify a user withname, E-mail, address or phone number and the directory can route thefunds to the correct mobile account number. In another embodiment,multiple directories may be maintained and each directory is maintainedby a third party, for example, the respective online community provider.

To make a payment to a recipient in the first online community 601, theuser selects a contact (for example, a first recipient 606). The firstonline community 601 receives the above information from the sender andit transmits the recipient identifying information and the amount offunds to be transferred to the bank 610. The bank 610 queries thedirectory 614 to determine whether the recipient has a mobile walletaccount. If the recipient has a mobile wallet account, then the firstrecipient 606 is notified that funds are being transferred to theirmobile wallet account 604. The bank 610 can, upon the approval of thefirst recipient, transfer the funds to holding account of the mobilewallet account 604.

To make a payment to a recipient in the second online community 620, theuser selects a contact (for example, a second recipient 622). In thisexample, the same bank 610 maintains mobile wallet accounts for both thefirst online community 601 and the second online community 620. Thedirectory 614 therefore has all the information that is needed tocomplete the transfer and, therefore, the transmission of funds occursas it did with the first recipient 606. Therefore, the paymentprocessing system 100 may permit two online communities to be joined byallowing transfer of funds to a sender and recipient of differentcommunities. In yet another embodiment, the second recipient 622 has amobile wallet account 621 that is not maintained by the same bank 610but instead has a mobile wallet account that is maintained by anotherbank. In this embodiment, the two banks may provide access to theirrespective directories for purposes of identifying the sender and therecipient and completing the transaction.

FIG. 7 is a flow diagram indicating multiple channels of payments thatmay be made using the mobile wallet account. In FIG. 7 , the consumer701 is a member of an online community 707 and has a mobile walletaccount 709 that uses the ACH system 705. The mobile wallet account 709may be used to make payments in multiple channels. Thus, as shown inFIG. 7 , the consumer 701 can send funds to person-to-person typerecipients 712 and 713. As also shown in FIG. 7 , the consumer 701 canpay for services that are offered online (e.g., music downloads, moviedownloads, subscriptions, etc.) at an online store 715 using the mobilewallet account 711. Additionally, the consumer 701 can pay a retail(bricks and mortar) store 717 for products and services using the mobilewallet account 709. Lastly, a consumer can visit to an online store 719and pay by using the mobile wallet account 709. Thus, the use of themobile wallet can greatly reduce the need for carrying a traditionalwallet with credit cards.

FIGS. 8-16 show screen displays of a sample mobile wallet clientapplication. In particular, screen display 800 as shown in FIG. 8 can bedisplayed when a user selects the mobile wallet application on theirmobile device 110. Screen display 800 identifies to the user that theyare signing on to their mobile wallet account in field 801. For signingin, the user may be asked to provide a login ID (e.g., unique accountname/number) in field 802 and password in field 805. The accountname/number and password may have been configured upon set up of themobile wallet and/or updated at a later date. As another example, theaccount name/number and password may be the same as the user's onlinebanking credentials. As another example, assuming that the user issigning on from the mobile device 110, the user may only be asked toprovide a pin number (e.g., a 4-digit PIN), given that physicalpossession of the mobile device 110 may itself provide an additionallayer of security. The PIN may be linked to or may be separate from thePIN that is used for a debit card held by the user. After entering therequested information, the user can press the provided sign in button807.

In other embodiments, other authentication techniques may be used. Forexample, biometric authentication techniques may be used. For example, acamera on a mobile device 110 may capture an image/video of the user,and a facial recognition algorithm may be used to authenticate the user.As another example, a voice/speech recognition technique may be used.For example, the user may speak into a microphone of the mobile device110, and the user may be authenticated based on the sound of the user'svoice and/or based on the content of the user's speech (e.g., a spokenpassword). As another example, the mobile device 110 may be providedwith a fingerprint scanner, and a finger print authentication techniquemay be used.

Next, after the user has been authenticated, information on the screen910 shown on FIG. 9 can be displayed on the mobile device 110. In FIG. 9, the user is given a menu with various menu items including a starttransaction button 920, a person to person button 930, an accountdetails button 940, and a load funds button 950. The start transactionbutton 920 allows the user begin a purchase transaction (online orretail) using the mobile wallet account 125. The person to person button930 allows a user to initiate a transfer from funds from the user to arecipient as described above with reference to FIGS. 1 and 6 . Theaccount details button 940 provides the user with details regarding thebalance and prior transactions. The load funds button 950 allows theuser to load funds onto the mobile wallet account 125 using an ACHsystem 150 as described above. Finally, screen 910 displays the currentbalance 960 for the account for a particular date and time as indicatedin field 970.

After receiving a selection of the start transaction button 920 in FIG.9 , screen 1010 in FIG. 10 is displayed. The user can enter the amountof the transaction in the text filed 1020. Also, the user can enter amerchant name or search for the merchant. After entering the merchantname and amount and clicking the start transaction button 1040, atransaction code 1050 is displayed with the amount of the transactionand the merchant name. Moreover, as shown on screen 1010, a bar code1060 is displayed for a merchant to scan. The bar code is uniquelygenerated for the transaction and encodes information such as the amountof the transaction, the account number of the mobile wallet account ofthe user, and so on.

If the user chooses the person to person button 930 in FIG. 9 , then thescreen display of FIG. 11 can be shown on the mobile device. The usercan enter the contact name or search for a contact name in the field1101. Alternatively, the user can enter or search for a phone number infield 1103. As another alternative, the user can enter or search for thee-mail address of the recipient in field 1105. Also, prior totransferring funds to a person, the current balance of the holdingaccount is displayed in field 1107 on the screen display of FIG. 11 .

FIG. 12 is the screen display shown to the user if the user chooses tosearch for a contact in the users address book on the mobile device. Asshown in the screen display of FIG. 12 , a user can display contact ingroups or all contacts 1203. This screen allows the user to choose acontact to send funds to.

FIG. 13 is a screen display shown if the user chooses an example contact“John Appleseed” in FIG. 12 . The name of the selected contact isdisplayed in field 1303. If the user's address book has the phone numberand e-mail address for the recipient, then that information is displayedon the screen in fields 1305 and 1307, respectively. By pressing themobile wallet button 1301, the user can to go the screen that requeststhe amount of money to send to the selected contact (John Appleseed inthe illustrated example).

FIG. 14 is a screen display prompting the user to enter a passcode 1403prior to sending funds or finalizing a transaction. To enter thenumerical passcode the user is provided with keys 1405. The passcode maybe the same passcode as entered in connection with FIG. 8 , or may be adifferent passcode to provide a heightened level of security.

FIG. 15 is displayed when the user chooses to view the account detailsbutton in FIG. 9 . The screen display in FIG. 15 shows a balance 1512and the details regarding the last five transactions. The user can pressbutton 1510 and see the next five previous transactions. The screendisplays the name of the recipient 1501, the transaction code 1503 andthe amount of the transaction 1505. Thus, a user can view their spendingby simply looking it up on their mobile device 110 since the mobiledevice 110 displays balance information and transaction detailinformation for prior transactions.

FIG. 16 is displayed if the user chooses the load funds button in FIG. 9. The user is provided a text field 1620 to enter the amount to beloaded. After making the selection the user must click on the load fundsbutton 1660. After clicking on load funds button 1660, the funds areloaded and made available to be used for transactions. As shown in FIG.16 , in addition to using a profiled mobile wallet account, as shown infield 1650, the mobile device 110 may also use other profiled accountsto make payments as shown in fields 1630 and 1640.

Referring now to FIGS. 17-27 , another embodiment of acomputer-implemented payment processing system is shown. Paymentprocessing system 1700 may be used by a user or account holder to set upand utilize a mobile wallet account. The user may be a business entityand/or an individual consumer that has one or more source accounts witha financial institution. The source accounts may include business orconsumer accounts. The mobile wallet account can be created for the userto transmit funds to a merchant in return for purchase of goods orservices. Additionally, funds can be transferred from the mobile walletaccount to another person.

Payment processing system 1700 may include, among other systems, amobile device 110, merchant computer system 140, mobile wallet bankcomputer system 120, source account bank computer system 130 and paymentsystem 150. Systems 100-150 may be implemented as described above inconnection with FIGS. 1-16 . Further, to the extent such structures arenot already provided in the arrangement of FIGS. 1-16 , systems 100-150as shown in FIGS. 17-27 may further include additional structures toperform additional operations as described below.

In the arrangement of FIG. 17 , the mobile device 110 further compriseslocation determination logic 1712, account selection logic 1713,augmented reality logic 1714, value card aggregator 1715, and receipttracker 1716. The location determination logic 1712 determines thelocation of the mobile device 110 for use by the mobile walletapplication 116. A user may opt-in to using the location determinationlogic to provide enhanced protection against fraudulent transactions, asdescribed below. The location determination logic 1712 may use asatellite (GPS) sensor or cellular towers to determine the locationcoordinates of the mobile device 110.

The account selection logic 1713 allows a user to choose any one of theaccounts to transfer funds to the merchant for goods or services. Anaccount holder may select a default account that is used to makepayments. The account holder may use the account selection logic 1713 toselect the account the account holder wants to use to pay the merchantor other recipient.

The augmented reality logic 1714 may be configured to generate sensoryoutputs such as sound, video, graphics or GPS data that augment theimage that is displayed on the mobile device. The augmented realitylogic 1714 is configured to receive image data from a mobile devicecamera or image scanner and augment the image with additionalinformation, as described below.

The value card aggregator 1715 may be configured to add or subtractbalances of stored value cards that are currently owned by the accountholder. The value card aggregator 1715 may also provide the accountholder with the ability to manage (e.g., add, edit, delete, and so on)value cards in the mobile wallet. In one embodiment, the value card maybe a merchant-issued card with a balance that represents a specificamount of funds. The value card aggregator 1715 may receive as inputfrom the image scanner or camera of the mobile device a scanned bar codefrom a stored value card. In one embodiment, the stored value card maybe a physical card that is owned by an account holder. In anotherembodiment, the stored value card may be a virtual card that has anidentification number and a value. A virtual card can be a debit card,credit card that is issued without any corresponding physical (e.g.plastic) card. The funds associated with the virtual card can beaccessed without a physical card. In one embodiment, the value cardaggregator 1715 is configured to store value information with respect toa plurality of different value card issuers. For example, the value cardinformation regarding various value card issuers may be saved in asingle mobile wallet application on a single mobile device 110.

The receipt tracker 1716 may be used by the account holder to trackreceipts received in connection with mobile wallet transactions. In oneembodiment, the bank computer system 120 may transmits receipts to themobile wallet application 116 on mobile device 110 for viewing. Thereceipts may be sent from the merchant computer system 140 to the bankcomputer system 120 upon completion of a transaction. As described ingreater detail below, the receipt tracker 1716 may provide various toolsto the user of the mobile device 110. For example, the receipt tracker1716 may be configured to generate a display informing the userregarding how much money the user has saved using the loyalty card. Thereceipt tracker 1716 may receive geographical location informationregarding where the funds from a receipt were spent (e.g., for purposesof searching receipts, generating expense reports, and so on). Thereceipt tracker 1716 may generate a display that shows the dataregarding geographical location information on a map for an accountholder to display.

The merchant computer system 140 may be used at a point of sale toconduct transaction with the account holder. For example, the merchantcomputer system 140 may comprise a point of sale computer system such asa cash register system connected to a central server system operated bythe merchant. As another example, the merchant computer system 140 maycomprise a mobile computing device (e.g., smart phone, tablet PC, etc.)operated by a store clerk as the clerk moves throughout the store.Again, the mobile computing device in such an embodiment may connect toa central server system operated by the merchant.

The merchant computer system 140 includes code scanner 1704, locationindicator logic 1706, fund requesting logic 1708, and fund receivinglogic 1710. In one embodiment, the network interface logic 1702 isconfigured to allow the merchant computer system 140 to communicate withnetwork 160. The network interface logic 1702 sends and receives datafrom mobile device 110 and bank computer system 120.

The code scanner 1704 may be configured to scan codes, such as but notlimited to, optically scanned or non-optically scanned codes. Examplesof optically scanned codes include bar codes, two dimensional codes(e.g. QR code and other similar codes), three dimensional codes (e.g. QRcode with color and others characteristics), and four dimensional codes(e.g. QR code with color and timestamp information). Examples ofnon-optical codes include, near field communication (NFC), RFID, HID orother RF signal to transmit the code. Code scanner 1704 may include alight emitting device that scans a code using infrared, laser, or othertypes of communication technology. In one embodiment, the code scanner44 scans a QR code. After scanning the QR code the code scanner 1704determines the information that was incorporated into the QR code by themobile device 110 that generated the code.

The location indicator logic 1706 provides an indication of thegeographic location of the code scanner 1704. In one embodiment, thelocation indicator logic 1706 may be programmed with the known addressof the merchant location as the location of the QR code scanner.

The fund requesting logic 1708 communicates a fund request via thenetwork interface logic 1702 to the bank computer system 120. The fundrequesting logic 1708 sends the location of the code scanner 1704 to thebank computer system 120. In one embodiment, the fund requesting logic1708 also sends the amount of transaction to the financial transaction.

The merchant computer system 140 may further connect to or integratewith other hardware. For example, in one embodiment, the merchantcomputer system 140 may connect to a card reader for reading creditcards, debit cards, stored value cards, and so on. As another example,the merchant computer system 140 may be configured to prompt the user toprovide a random security code. The random security code may begenerated by the mobile device 110, by a separate security dongle, or inanother manner. The security code may be provided to the merchantcomputer system 140 directly by the mobile device, may be keyed into themerchant computer system (e.g., by a store clerk), or may be received inanother manner.

In FIG. 17 , the mobile wallet application 116 is used in connectionwith merchant computer system 140 located at a bricks and mortar storelocation. As previously indicated, however, the mobile walletapplication 116 may also be used in connection with online merchanttransactions. For example, in another embodiment, merchants may beprovided with the ability to have a mobile storefront and profile withinthe mobile wallet application 116. For example, merchants may beprovided with the ability to display marketing material, provideinformation, and promote products or discounts. Merchants may also beprovided with the ability to sell items directly through their mobilestorefront for the account holder to purchase from within the mobilewallet application 116.

The bank computer system 120 includes code generator 1722, transactionverification logic 1724, code determination logic 1726, timeverification logic 1728, location verification logic 1730, accountdatabase 1734, and profile database 1736. The code generator 1722 mayreceive a request from an account holder to initiate a transaction. Atransaction may be initiated by generating a QR code that can be scannedby a merchant or individual. The account holder may access the codegenerator 1722 via a mobile wallet application that is being executed onthe mobile device 110. In various embodiments, the QR code may begenerated without the account holder providing the merchant's name oramount of transaction. The code generator 1722 can be configured togenerate a QR code that incorporates at least one of a date, time,unique transaction identifier, and geographic location of the mobiledevice. In other embodiments, the code generators 118 and 1722 can beconfigured to generate optically scanned or non-optically scanned codes.Examples of optically scanned codes include bar codes, two dimensionalcodes (e.g. QR code and other similar codes), three dimensional codes(e.g. QR code with color and others characteristics), and fourdimensional codes (e.g. QR code with color and timestamp information).Examples of non-optically scanned codes may include, near fieldcommunication (NFC), RFID, HID or other RF signal to transmit the code.

In another embodiment, the code generator 1722 may receive a request fora code to provide to a merchant, the code being generated to bedisplayed on a merchant point of sale machine or an ecommerce website.The merchant may display the code for the account holder to scan using amobile device. Generating the code including embedding in the code atransaction identification number, a geographic location of themerchant, and a timestamp. The financial institution may send the codeto the merchant for the mobile device to scan. The mobile device 110 mayscan the code from a merchant display device. The mobile device 110 mayamend the code to add a further authentication information to the codeand send the code to the financial institution. The financialinstitution may receive the amended code from the mobile device totransfer funds from an account held by the account holder to themerchant. In one embodiment, the requested funds are transferred to themerchant upon verifying the geographic location of the mobile device tobe within a predetermined distance of the location of the merchant. Inanother embodiment, the amended code is amended to includeauthentication information (e.g. geographic location, account number,pass code, pin code) from the mobile device for the financialinstitution.

The transaction verification logic 1724 may receive a transaction amountfrom the merchant computer system 140. The transaction verificationlogic 1724 may generate a message to send to the mobile device 110 forverifying the transaction amount. Upon receiving the verificationmessage, the account holder via mobile device 110 may approve thetransaction amount to the bank computer system 120.

The time verification logic 1728 includes a comparator configured tocompare the time provided by the merchant computer system 140 with thetime provided via the QR code generated by the mobile device 110. If thetime provided by the QR code and the merchant computer system 140 exceeda predetermined time limit (e.g., five minutes), the bank computersystem 120 will deny the transaction.

The location verification logic 1730 includes a comparator configured tocompare two geographic locations. In one embodiment, the GPS locationthat is encoded with the QR code may be compared to the locationprovided by the location indicator logic 1706 at the merchant computersystem 140. As described in greater detail below, if locations providedby the mobile device 110 and the merchant computer system 140 are withina predetermined distance of each other, then the payment from the mobilewallet may be approved.

The offer engine 1731 may be configured to receive past financialtransaction information regarding transactions conducted by the accountholder. For example, the account holder may opt in to receive offersthat are selected as being likely to be considered relevant or helpfulby the account holder. As described in greater detail below, thetransaction information may be analyzed to obtain information regardingstores that the account holder frequently visits, the amount of moneythe account holder typically spends at various types of stores, themonthly spending habits of the account holder, the timing of incomepayments received by the account holder, seasonal spending patterns ofthe account holder, and so on. In another embodiment, the offer engine1731 may download new updated offers based on the account holder'sgeographic location from the merchant computer system 140.

In another embodiment, the offer engine 1731 is configured to presentoffers, in the form of an alert, to an account holder based on theaccount holder's geographic location. For example, when an accountholder is within a geographic perimeter around a predetermined location(e.g. merchant, service provider, entertainment venue, etc.) the offerengine 1731 may generate a message that is displayable on the display114 as an alert. The message may display the approximate geographicdistance to the predetermined location where the offer may be redeemedand the details regarding the offer. The details regarding the offer mayinclude the item or service that is being offered at a discounted priceand/or the amount of money the redemption of the offer may save theaccount holder. As part of displaying the alert, an overlay display mayalso be generated, possibly accompanied by a vibration and/or soundgenerated while the account holder's device is in sleep or active usemode.

The account database 1734 may store details regarding financialinstitution accounts. In particular, the account database 1734 may storeeach financial transaction that occurred. Each financial transaction mayinclude the amount of the transaction and the merchant. In oneembodiment, the receipt tracker 1716 may request information fromaccount database 1734.

The profile database 1736 may store other information regarding theaccount holder. For example, the profile database 1736 may storeinformation useful for generating offers and advertising that areselected specifically for the account holder, as described in greaterdetail below.

FIG. 18 is a process implemented by the payment processing system ofFIG. 17 . The process from FIG. 18 includes blocks 1801, 1803, 1805,1807, 1807 and 1811. Block 1801 includes receiving a user's request toperform a financial transaction. The transaction may include a sale of agood or services. The user's request to perform a financial transactionmay initially be received by the mobile device 110. In one embodiment,the mobile device 110 receives the request to perform a transactionafter the user selects a mobile wallet application on the mobile device110. The request may then be transmitted from the mobile device 110 andreceived at the mobile wallet bank computer system 120. The user'srequest to perform a financial transaction may also be received by themerchant computer system 140 (e.g., by virtue of a store clerk beginningto ring up a purchase transaction).

At block 1803, the geographic location of the mobile device 110 isdetermined. As previously indicated, the location determination logic1712 in the mobile device 110 may use a satellite (GPS) sensor orcellular towers to determine the location coordinates of the mobiledevice 110. The location of the mobile device 110 may be transmitted tothe bank computer system 120 as part of the transaction request.

Upon receiving the request, the bank computer system 120 generates atransaction code that may be used to identify the transaction. The codemay comprise a unique identifier for the transaction. The code may alsoembed the date and time the transaction request was received and thelocation of the mobile device 110. The transaction code is transmittedto the mobile device 110. The transaction code may be displayed on themobile device 110 and scanned by the code scanner 1704. For example, thetransaction code may be implemented as a QR code which is readable bythe code scanner 1704. The information that is embedded in thetransaction code may be extracted from the code at the merchant computersystem 140, such as the date, time, the location of the user, and theunique transaction identifier. In another embodiment, the code isgenerated by the merchant computer system 140 and scanned by the mobiledevice 110 (e.g., using a camera built into the mobile device).

Next, at block 1805 the location of the merchant may be determined. Forexample, the address or other location information may be retrieved fromthe location indicator logic 1706. At block 1807, the location of mobiledevice 110 and the location of the merchant are compared to ensure amatch. Ensuring that the mobile device 110 is at the same location asthe merchant computer system 140 helps prevent fraudulent transactions.In one embodiment, a match is ensured by determining the distancebetween the two locations and ensuring that the distance is within apredetermined distance. For example, the predetermined distance may beup to 50, 100, 200 feet or another distance. In one embodiment, thelocation of the merchant computer system 140 is transmitted to the bankcomputer system 120 and the comparison is performed at the bank computersystem 120. In such an embodiment, the bank computer system 120determines the location of the mobile device 110 and the location of themerchant computer system 140 using location information provided byeach, and performs the comparison on the basis of such locationinformation. In another embodiment, the comparison is performed at themerchant computer system 140. The comparison may also be performed atboth locations. In another embodiment, the location of the mobile device110 and the location of the merchant are compared before a transactioncode is generated and, if the mobile device is not at the same locationas the merchant computer system, then the transaction code is notgenerated. A similar comparison may also be performed in connection withthe date and time information (e.g., to ensure that the transactionrequest from the mobile device 110 is not expired or too old to bevalid).

In another embodiment, in addition to ascertaining whether the mobiledevice 110 is at the same location as the merchant computer system 140,it is also ascertained whether the mobile device is inside/outside apredetermined geographic region. For example, it may be ascertainedwhether the mobile device is outside the United States. For example, ifit is known that merchant X has no store locations outside the UnitedStates, and if the mobile device 110 is outside the United States, thenthe transaction may be denied. This may provide a second, independenttest of the user's location to ensure that the transaction does notappear fraudulent. As another example, it may be ascertained whether themobile device is within one or more specified foreign countries. Thelocation of the mobile device 110 may be determined and checked when thetransaction is initiated and at multiple times throughout thetransaction to guard against spoofing attacks.

At block 1809, the merchant computer system 140 sends transactioninformation to the bank computer system 120. For example, the amount ofthe purchase, the unique identifier, the date and time, and the locationinformation may be sent to the extent such information has not alreadybeen transmitted. The bank computer system 120 may use this informationto transfer funds from the mobile wallet account to an account of themerchant. For example, in one embodiment, the bank computer system 120uses the unique identifier to retrieve information previously storedabout the transaction (e.g., account information for the mobile walletaccount) when the transaction was first initiated. On this basis,information may be passed back to the merchant computer system 140 topermit the transaction to be completed. For example, a credit cardnumber or ATM card number associated with the mobile wallet account maybe passed back to the merchant computer system 140 (or to other backendcomputing systems of the merchant), thereby allowing the merchant toprocess the transaction in the same way other credit card and ATM cardtransactions are processed. As another example, the merchant computersystem 140 may also include logic to connect to a third-party paymentservice, e.g., to a service that performs credit card processing formerchants that do not otherwise accept credit cards. It may be notedthat the account holder may not need to enter the merchant name or theamount of the transaction into the mobile wallet application 116, asthis information may be provided by the merchant.

At block 1811, an indication that the transaction has been completed istransmitted. As described above, the transaction is completed based onthe unique identifier and based on the match of the first and secondlocation. For example, when the merchant computer system 140 completesbackend processing of the transaction, an indication that thetransaction has been completed may be transmitted to the mobile device110 and/or the bank computer system 120. In turn, the mobile device 110may transmit an indication that the transaction has been completed,e.g., by generating a confirmation screen that is displayed to the user.The merchant computer system 140 may also transmit the indication toother backend processes.

In another embodiment, rather than transmitting the actual sixteen digitnumber of a valid credit or debit card back to the merchant computersystem 140, a tokenized sixteen digit number is transmitted. Thissixteen digit number may have a unique BIN (e.g., the first four digitsof the original card number) and the same last four digits as theoriginal card number. The middle six digits may be variable and producedfor each transaction. When the bank that issued the credit card receivesthe tokenized sixteen digit number (after it passed through the normalfour party system of merchant to acquiring bank to issuing bank toconsumer), the tokenized sixteen digit number may be decoded andreplaced by the original number in order to fund the purchase. Thetokenized sixteen digit number may be transmitted in accordance with the18092 NFC ISO standard.

FIG. 19 a is a process implemented by the payment processing system ofFIG. 17 in connection with processing payment from a stored value card.The process from FIG. 19 a includes blocks 1901, 1902, 1903, 1904, and1905. Block 1901 recites generating a menu that is configured to acceptuser input. Block 1902 recites receiving user input which indicates achoice of a value card as a payment option. In one embodiment, theaccount holder may choose to pay a merchant using a card with storedvalue for a merchant. The account holder may access the value cardoption from a website or application that is provided by a financialinstitution that is affiliated or unaffiliated with the merchant thatprovided the value card. Transactions involving stored value cards maybe processed in a manner similar to transactions involving credit cardsor debit cards, as discussed above. Hence, at block 1903, the mobiledevice 110 may generate a display for a merchant based on the userselected value card. In one embodiment, the generated display may be abarcode, QR code, QR code (with color and/or time) or RF signal that maybe read by a merchant scanner. The merchant may receive the barcode orQR code and extract information from the code to process thetransaction. Block 1904 recites transferring funds from the balance ofthe selected value card to the merchant. Block 1905 recites reducing thebalance of the selected value card. For example, if the stored valuecard is not merchant-issued, then it may be processed in a mannersimilar to credit cards as described above. If the stored value card isa merchant-issued card, backend systems may be accessed to reduce thebalance of the card and complete the transaction.

FIG. 19 b is a process implemented by the value card aggregator 1715 ofFIG. 17 in connection with loading information from a stored value cardinto the mobile device 110. The process from FIG. 19 b includes blocks1907, 1909, 1911, and 1913. At block 1907, the account holder with avalue card can reload the existing value card to increase the balance onthe card. At block 1909, the account holder can provide the card valueprovider's name and the number for a stored value card to store on themobile wallet application. Alternatively, at block 1911, the accountholder may user a camera or imaging device to capture the barcode thatis physically on the value card. Next, at block 1913, the data fromblock 1907, 1909 and 1911 can be stored on the mobile device 110.

FIG. 20 is a process implemented by the payment processing system ofFIG. 17 in connection with providing an alert about stored value card.The process from FIG. 19 c includes block 2001, 2003, and 2005. At block2001, value card information stored on the mobile device 110 isaccessed. At block 2003, the mobile device 110 determines the GPSlocation of the mobile device 110. At block 2005, the mobile device 110determines the merchants that are in the vicinity of the GPS location ofthe mobile device 110. If the mobile device 110 determines that themerchants that are in the vicinity match the value cards that are storedon the mobile device 110, then the mobile wallet application 116 on themobile device 110 may generate an alert for the account holder. Thegenerated alert may be displayed by the mobile device 110 and may informthe account holder that a value card is available to be used at a nearbymerchant. In another embodiment, the alert may inform the account holderthe balance on the value card that is available.

FIG. 21 is a process implemented by the payment processing system ofFIG. 17 . The process of FIG. 21 may be used to determine and present afinancial incentive (e.g., offers, coupons, rebates, etc.) to an accountholder. For example, the account holder may opt in to receive offersthat are selected as being likely to be considered relevant or helpfulby the account holder. The process of FIG. 21 includes blocks 2101,2102, 2103, 2105, 2107, 2109, 2111, and 2113. At block 2101 the bankcomputer system 120 may aggregate transaction information stored in theaccount database 1734 regarding the account holder. At block 2103, theaggregated transaction information is used to build a profile for theaccount holder. For example, the transaction information may be analyzedto obtain information regarding stores that the account holderfrequently visits, the amount of money the account holder typicallyspends at various types of stores, the monthly spending habits of theaccount holder, the timing of income payments received by the accountholder, seasonal spending patterns of the account holder, and so on. Tothe extent receipts for transactions conducted using the mobile device110 are received by the mobile device 110, such receipts may also beanalyzed to assess spending habits of the account holder. Additionally,in order to make the information that is provided more relevant to theaccount holder, the account holder may also opt in to provideinformation regarding the account holders interests, hobbies, and so on.This information may also be stored as attributes in the user profile.

At block 2105, the bank computer system 120 receives offers and couponto offer to a plurality of account holders. For example, advertisers mayprovide such offers to the bank computer system 120 to provide to theaccount holder. As another example, offers from a third partyadvertisement network may be utilized. At block 2107, a current positionof the mobile device 110 is determined. At block 2109, based on the userprofile, the available offers, and the current position of the accountholder, the profiles are matched with the offers received. Uponselecting an offer or coupon that matches the profile of the accountholder, the offer or coupon is sent to the mobile device 110. The mobiledevice 110 receives the offer or coupon and stores it in the offerengine 1731 at block 2111. The offer engine 1731 can alert the accountholder regarding the offer while the mobile device 110 of the accountholder is at a geographic location to use the offer or coupon. The offerengine 1731 may present the offer to the account holder at block 2113via a display of the mobile device 110.

In another embodiment, the offer engine 1731 may present the offer tothe account holder at block 2113 based on the fact the other users' withsimilar characteristics recommended a merchant, purchased items at amerchant, and so on. The other users with similar characteristics may bedetermined based on the account holder's connections in an online socialnetwork. An offer generated based on other users past transactions mayindicate that the offer is generated based on the past transactions ofthe account holder's connections in the social network. At block 2109,matching a user with offers may also occur by the user indicating anapproval of a particular offer, type of offer or a set of offers. Theuser's approval for one offer may be used to determine which futureoffers are presented to the user. For example, if the user approves of a50% off flowers offer, then any future offers for 50% off otherproducts, which may or may not be related to the approved offer, such aschocolates, may be selected from among a plurality of offers to presentto the user. After an offer has been presented to the user, the user maybe given a choice to use the offer or send the offer to a friend using aform of communication. The form of communication from the user to thefriend may be an online social network (e.g. google+™, Facebook™,Myspace™, LinkedIn™, or other online social networks). In anotherembodiment, the offer may be communicated by transmitting the offerthrough the mobile wallet application of the user to the mobile walletapplication of the friend. In one embodiment, the account holder may beable to add an offer to the mobile wallet application by using an onlinesocial network. The online social network may have a wallet applicationarea where the user may receive offers and send offers to other friends.

Referring to FIG. 22 , FIG. 22 is a process implemented by the paymentprocessing system of FIG. 17 in connection with tracking receipts. Theprocess of FIG. 22 may be performed by the mobile device 110 or the bankcomputer system 120 to track receipts. The process of FIG. 22 includesblocks 2201, 2203, 2207, 2209, 2211, 2213, and 2215. At block 2203, amerchant may send a receipt to a mobile wallet account of a mobiledevice 110. For example, such a receipt may be sent whenever atransaction is completed using the mobile device 110. At block 2203, themobile device 110 receives a receipt from an account holder's E-mailaddress. In one embodiment, an account holder may register the E-mailaddress with the mobile wallet account. In another embodiment, themobile wallet account may be assigned an e-mail address to receivereceipts. In yet another embodiment, the receipts may be E-mailed in anelectronic format. At block 2207, the receipts are scanned forinformation and stored (e.g., at the bank computer system 120). Forexample, at block 2209, the mobile wallet application 116 may determinewhich products were purchased and the price of the purchased products.Such information may be used to build a user profile, as previouslydiscussed.

At block 2211, past receipts that are stored in the mobile walletaccount may be retrieved and displayed to a user of a mobile device 110.In another embodiment, an account holder may search the receipts fortransactions relating to specific products or merchants. The receiptsmay also be geo-tagged when the receipts are stored, and such searchesmay be performed based on the geo-tag information. Tools may be providedto facilitate organizing the receipts for inclusion in expense reports.For example, tools may be provided that permit the account holder to addcomments to receipts and to transmit the receipts to third parties. Atblock 2213, the mobile wallet scans the received receipt and determinesthe amount of funds saved from a merchant loyalty program. Afterscanning the receipt, the mobile wallet application 116 aggregates thefunds saved on the loyalty program.

Referring to FIG. 23 , FIG. 23 illustrates an augmented reality process2300 that may be implemented using the mobile device 110. At step 2301,the mobile device 110 generates an image or set of images from a cameraor image scanning device located in the mobile device 110. At step 2303,the mobile wallet application 116 on the mobile device 110 may generatean overlay display on the image or set of images to provide additionalinformation to the account holder. The additional information may be animage, sound, set of images with sounds, video, and graphics or GPSdata. Different types of information may be provided. For example, atstep 2305, if the image received by the mobile device 110 is a form,then the mobile device 110 may display fields that may be filled out bythe account holder providing input. As another example, at step 2307, ifthe image received by the mobile device 110 is an image of a street,then merchants with offers available via the mobile device 110 may bedisplayed as an overlay on the image on the mobile device 110. When themerchants with offers are displayed, the user may also be provided aprofile of the merchant and an online storefront. The profile of themerchant may include information regarding the merchant. The onlinestorefront displays items that a user can select and purchase from themerchant for in-person delivery at a physical store or delivery at auser specified location (e.g. addresses such as home, business or friendor family home or business). The geographic location and the orientationof the mobile device 110 may be determined. As the orientation of themobile device 110 changes, the overlay may move or change in synchronismwith the changing image according to the orientation of the mobiledevice 110. As another example, at step 2309, if the mobile device 110is located in a store, then the overlay displayed can show the directionof a product or products that are on sale or have offers available viathe mobile device 110. The overlay showing the direction of the productor products may be dynamically updated as the account holder walkstoward the product, thereby helping the account holder find the productwithin the store.

FIGS. 24-27 show additional screen displays of a sample mobile walletclient application. Referring first to FIG. 24 , FIG. 24 is a screendisplay that is generated by the mobile wallet application 116. Thedisplay in FIG. 24 is generated when an account holder initiates theregistration of the mobile wallet account. As shown in FIG. 24 , theaccount holder is provided the choice of selecting the default paymentaccount for the mobile wallet account. For example, the choices shown inFIG. 24 includes, debit card 2407 that is the debit card for accountnumber ending 2468. Another option may be debit card 2409 that is thedebit card for account number ending 2568. If the account holder usesconventional banking services of the bank that offers the mobile wallet,then the information shown in FIG. 24 may be prepopulated using theaccount holder's existing account information.

In the example shown in FIG. 24 , the account holder has configured themobile wallet for use with several demand deposit accounts. Aspreviously indicated, the mobile wallet may also be configured for usewith other forms of payment, such as stored value cards. As anotherexample, the mobile wallet may be configured for use with a paymentmechanism that allows for direct transfers of funds from a demanddeposit account of the account holder to an account of the merchant(e.g., akin to an online bill pay mechanism, but accessible via themobile wallet application 116 at a point of sale). Such an arrangementmay permit funds to be transferred to the merchant while avoiding theneed to provide the merchant with account information (e.g., a creditcard or debit card number) of the account holder.

In the example shown in FIG. 24 , the account holder selects a defaultaccount for use with the mobile wallet. As will be appreciated, thedefault account need not be used for all mobile wallet transactions. Asanother example, different types of transactions (e.g., by merchant, bydollar amount, etc.) may have different default accounts used forpayment. That is, the mobile wallet application 116 may provide theaccount holder with the ability to set preferences for when certainpayment types are used in certain situations. For example, the defaultaccount used for payment may be a store-issued credit card when theaccount holder is making a purchase at the store that issued the creditcard. As another example, the default account may be a debit card whenthe purchase amount is below a threshold (e.g., below $50) and a creditcard when the purchase amount is equal to or greater than threshold(e.g., $50 or more). The account holder may be provided with the abilityto specify such thresholds and what accounts are used as a function ofwhether the thresholds are met.

As another example, the defaults may be selected automatically by themobile wallet application 116. For example, the mobile walletapplication 116 may be configured to analyze past transaction history toselect a default payment type for presentation to the account holder atthe time of a purchase. For example, an account holder that frequentlytravels for business may typically use an employer-provided credit cardfor purchases that are made when traveling. For example, if the accountholder lives in San Francisco, then the employer-provided credit cardmay be the most-frequently used credit card whenever the account holdermakes purchases that are more at a merchant location that is 100 milesor more away from San Francisco. At the time of a transaction, if thetransaction is occurring at a merchant location that is 100 miles ormore away from San Francisco, then the account holder may be providedwith the employer-provided credit card as a default account, on theassumption that the account holder is traveling on business when thepurchase is being made and the purchase is work-related. As anotherexample, the account holder may have a tendency to use specific creditcards at specific stores. Hence, at the time of a transaction, the pasttransaction history may be analyzed to determine what credit card theaccount holder typically uses at the store where the transaction isoccurring.

The account holder is provided an option to select between each of thedebit cards or credit cards that are linked to the bank account portionof the mobile wallet application 116. In another embodiment, the mobilewallet application 116 may allow an account holder to enter a debit orcredit card number to use as the default account. After receiving theaccount holder's choice of debit card the account holder may select thecontinue button 2413. After selecting the debit card account the accountholder may be prompted to provide a pin for the default account. In oneembodiment, the pin may be a 4 digit number that is used for the mobilewallet account. In one embodiment, the pin for the mobile wallet accountdoes not change the pin related to the underlying bank account.

Referring to FIG. 25 , FIG. 25 shows a screen display that allows a userto verify the wallet settings in menu 2501. Menu item 2505 a displaysthe default wallet account that the user selected. Also displayed is anoption 2505 b that, if selected, may allow the account holder to choosea different debit card or credit card. Also shown in FIG. 25 is a changepin option 2507 a, which allows the account holder to select the optionto enter a new PIN number. To complete the mobile wallet accountregistration, the account holder may select the register button 2509.

Referring to FIG. 26 , FIG. 26 shows a screen that informs an accountholder that their wallet account has been activated and the accountholder may link their wallet account to a loyalty card of a merchant. Inthe example shown on FIG. 26 , the account holder is offered the optionto provide loyalty card information to the mobile wallet account byselecting button 2620. Alternatively or additionally, the account holdermay continue to a mobile wallet dashboard by selecting button 2630.

Referring to FIG. 27 , FIG. 27 illustrates a screen display of a QR codethat may be generated for a merchant to scan. The QR code may bedisplayed by the mobile device 110 based on information provided by thebank computer system 120. When the QR code is generated and displayed onthe mobile device 110, the account that will be used to pay the merchantis identified under the QR code at field 2742. If the account holderwishes to use a different account, the account holder is offered theoption of changing the account using the change account option button2740. Once the merchant or individual has scanned the QR code, theaccount holder may select the close button 2750 to close the mobilewallet application 116.

After scanning the QR code, the merchant may transmit the QR code to thebank computer system 120, as previously described. The bank computersystem 120 may then return account information (e.g., a credit cardnumber, debit card number, alternative payment type, demand depositaccount, etc.) to backend servers associated with the merchant computersystem 140 to permit the transaction to be processed in the same manneras a conventional credit card or debit card transaction. Othermechanisms for processing payments may also be used.

FIG. 28 is a schematic diagram of a computer-implemented paymentprocessing system according to an example embodiment. In the example ofFIG. 28 , an interoperable mobile wallet platform is provided that maybe accessed by consumers that bank at various different bankinginstitutions and by merchants that bank at various different bankinginstitutions. Hence, the mobile wallet client application 116 (orvarious branded variations thereof) may be offered through multiplebanks and may utilize the services of multiple banks to completetransactions. Such an arrangement may promote broader adoption of themobile banking platform by merchants and consumers.

Specifically, as shown in FIG. 28 , a payment processing system 2800 mayinclude various computer systems such as a mobile device 110, mobilewallet bank computer system 120, recipient bank computer system 170merchant computer system 140, messaging hub computer system 2810, andissuing bank computer system 2850. As will be appreciated, in practice,the computer system of a given banking institution may operate as themobile wallet bank computer system in the context of some transactionsand may operate as the recipient bank computer system in the context ofother transactions.

In FIG. 28 , the computer systems 100, 120, 140, 170, 2810 and 2850 maycommunicate with each other to complete transactions. As shown in FIG.28 , the connection of mobile device 110 is such that it does notcommunicate directly with the messaging hub computer system 2810 or therecipient bank computer system 170. In other implementations, the mobiledevice 110 may be configured to communicate some information to themessaging hub computer system 2810 and/or the recipient bank computersystem 170. Interconnections of the computer systems 100, 120, 140, and170 will now be briefly described.

As shown in FIG. 28 , the mobile wallet bank computer system 120 isconfigured to communicate with the mobile device 110 and the messaginghub computer system 2810. The content of the communication with themessaging hub computer system 2810 may include account informationregarding the user, confirmation of the code and approval/declining atransaction between the user of the mobile device 110 and a merchant.

As shown in FIG. 28 , the messaging hub computer system 2810 isconfigured to communicate with one or more financial institutions thatprovide financial accounts to various individuals or merchants. Themessaging hub computer system 2810 may include various components suchas validator 2812 discussed in greater detail below. The messaging hubcomputer system 2810 is configured to act as an intermediary between twofinancial institutions such as mobile wallet bank computer system 120and recipient bank computer system 170. The messaging hub computersystem 2810 may act as a message router that is configured to assurethat the correct information is transmitted to the correct financialinstitution to facilitate a transaction between two parties (e.g. a userand a merchant or a user and another user or between two merchants).Additionally, the messaging hub computer system 2810 provides a singleinterface for each bank to communicate with a plurality of other banks.In some embodiments, the messaging hub computer system 2810 may also beoperative to process the transaction between the two parties.

As shown in FIG. 28 , the recipient bank computer system 170 isconfigured to communicate with the merchant computer system 140 and themessaging hub computer system 2810. The recipient bank computer system170 is configured to receive funds to the financial institution of theuser (e.g. mobile wallet bank computer system 120). In otherimplementations, the recipient bank computer system 170 may beconfigured to communicate with the mobile device 110 and/or the mobilewallet bank computer system 120. In some embodiments, the messaging hubcomputer system 2810 stores account information for the user, so theaccount information is not received from the mobile wallet bank computersystem 120.

As shown in FIG. 28 , the merchant computer system 140 is configured tocommunicate with the recipient bank computer system 170 and the mobiledevice 110. The merchant computer system 140 is configured to receive acode (e.g. QR code) and other information from the recipient bankcomputer system 170. In other implementations, the merchant computersystem 140 may be configured to communicate with the mobile device 110and/or the mobile wallet bank computer system 120. The interface betweenthe merchant computer system 140 and the recipient bank computer system170 uses bank level security encryption to send and receive messages.

The mobile device 110 may include, in addition to the other featurespreviously described, a code processing system 117. The code processingsystem 117 may include a code scanner (i.e. camera), and/or a codegenerator. In one embodiment, the code processing system 117 may receivea numerical code from the mobile wallet bank computer system 120 andgenerate an image that represents the received code on the displaydevice 114. In one implementation the code processing system 117 mayreceive a code from the mobile wallet bank computer system 120. Inanother embodiment, the code processing system 117 may use a code/tokengenerator as described in FIG. 1 or 28 . In some embodiments, the codemay be a dynamic token that remains valid for a single transaction,and/or a temporary period of time. The code is a POS exchange code thatis exchanged between a POS (Point of Sale) device 40 of the merchant anda mobile device 110 of the user in exchange for goods or services thatare received by the user.

The messaging hub computer system 2810 may be a third party providedinterface for one or more financial institutions. In one embodiment, themessaging hub computer system 2810 may be provided by an exchangeservice that allows banks to transmit information securely between banksto process transactions where funds are transferred from one bank toanother bank. In the example shown in FIG. 28 , funds may be transferredfrom an account held by the user of the mobile device 110 to an accountheld by a merchant with a merchant computer system 140. The messaginghub computer system 2810 includes a processor and a non-transitorymemory that are configured to receive and transmit information betweenone or more financial institution. The information received from asending financial institution may identify the recipient financialinstitution. The interface between the messaging hub computer system2810 and the financial institutions uses bank level security encryptionto send and receive messages.

The validator 2812, in the messaging hub computer system 2810, performsan initial validation of the code that is received from the recipientbank computer system 170. In another embodiment, a portion of thereceived code may identify the financial institution that should receivethe messages from the messaging hub computer system 2810. The validator2812 may access stored information that correlates codes with electroniccontact information for financial institutions. In anotherimplementation, a database may be used to determine the correlationbetween a portion of the code and a financial institution with whichthat the code corresponds.

As shown in FIG. 1 , the issuing bank computer system 2850 is operativeto transfer funds from the demand deposit account held by the user tothe recipient bank computer system 170 under the direction of therecipient bank computer system 170 or the issuing bank computer system2850. The issuing bank computer system 2850 may be configured tocommunicate via a network with the messaging hub computer system 2810,the mobile wallet bank computer system 120 and the recipient bankcomputer system 170. The issuing bank computer system 2850 is configuredto receive funds from various mobile wallet bank computer systems 120and transmit the funds to the appropriate recipient bank computersystems 170. The issuing bank computer system 2850 may include anaccount processing logic 2852 that determines which user has a creditcard account and an account database that store information regardinguser accounts. In other embodiments, the issuing bank computer system2850 is configured to be a registry information provider. The registryinformation may include an identifier for the user mobile wallet accountand the registry information such as the user default account number maybe provided to the messaging hub computer system 2810. In otherembodiments, the registry information may include other information thatallows the messaging hub computer system 2810 to obtain the accountinformation from another financial institution.

As will appreciated, during operation of the system shown in FIG. 1 ,various parameters may be passed between the computer systems 100, 120,140, 170, 2810 and 2850. An exemplary listing of such parameters is setforth below in Table 1. These parameters may be alphanumeric values.

TABLE 1 Term Definition Payment Identifier (PI) A static value that istied to an underlying payment type or consumer registry info IssuerIdentifier (II) A unique number that identifies the issuer to ensureappropriate routing of Dynamic Token requests Wallet Platform ID Aunique ID per Wallet/Version combo (WPI) Wallet User ID (WUI) A uniqueID per user of each wallet Dynamic Token (DT) A tokenized value that issent to the issuer or acquirer for validation and retrieval of keyinformation to drive a purchase transaction Previously Used A previouslyused tokenized value that is used Dynamic to drive a refund transactionToken (PUDT) Trace ID (TID) A subset of the Dynamic Token that is usedby the issuer for security and matching purposes Merchant ID (MID) Aunique ID for each merchant that is tied to a Merchant Registry InfoAcquirer ID (AID) A unique ID for each acquirer/processor POS ID (PID) Aunique ID for each point of sale terminal Merchant Registry Info AMerchant specific data element that allows (MRI) MH to look up the DDAor other profile info Consumer Registry Info A Consumer ID that allowsMH to look up the (CRI) DDA or other profile info

FIG. 29 depicts a first process for completing a transaction that may beimplemented by the payment processing system of FIG. 28 . For purposesof providing an example, it is assumed that the two parties to thetransaction in FIG. 29 are a user of mobile wallet application 116(e.g., consumer) and a merchant. Again, as above, it will be appreciatedthat other types of transactions may be possible.

At step 2901, the user may provide input to the POS device 140. Forexample, a user purchasing merchandise at a bricks and mortar merchantmay be at a checkout counter or other type of POS arrangement. The usermay be presented with a series of payment options at the POS device 140(e.g., credit card, debit card, mobile, and so on). The user may selecta payment type (here, “mobile”) to pay for goods or services, and theselection of the payment option may be received by the POS device 140.

Next at step 2902, the user may access the mobile wallet application 116on mobile device 110 and select a “pay now” or similar option on themobile device. As previously discussed, the mobile wallet application116 may also offer the user various payment types (e.g., various creditcards, debit cards, alternative payment type, demand deposit account andso on). In one embodiment, the user may have pre-specified a defaultpayment type that may be used. The mobile device 110 may receive theuser input and initiate communication with the mobile wallet bankcomputer system 120.

At step 2903, the mobile device 110 may send a request to the mobilewallet bank computer system 120 for a code that may be used to identifythe transaction that will occur between the user and the POS device 140.The message that is transmitted may include information identifying theuser (e.g., a device identifier for the mobile device 110, a uniqueidentifier associated with the mobile wallet application 116 wheninstalled by the user, etc.). Information regarding the payment typeselected by the user may also be sent. The mobile wallet bank computersystem 120 may be configured to receive requests directly from themobile device 110 for codes or other information.

At step 2904, the mobile wallet bank computer system 120 may generate arandom code or sequential code as described above, e.g., in connectionwith FIG. 18 . In one embodiment, the code may represent a uniqueidentifier for the transaction that is about to be completed between theuser and the merchant. In other embodiments, the code may also include atransaction identifier and verification codes that identify the mobilewallet bank computer system 120 to the messaging hub computer system2810 when the code the received by the messaging hub computer system2810. In some embodiments, the mobile wallet bank computer system 120may generate a code based on a standard that the messaging hub computersystem 2810 can decode and understand.

After receiving the code from the mobile wallet bank computer system120, the mobile device 110 may process the code using the codeprocessing system 117. In one embodiment, the code may be sent over awireless link between the mobile device 110 and the mobile wallet bankcomputer system 120. In one embodiment, to reduce bandwidth requirementsand transmission times, the code may be sent as a numeric code. In suchan embodiment, the code processing system 117 may be configured toconvert the code into a displayable image that may be scanned by the POSdevice 140. In other embodiments, the code may be sent as an image(e.g., QR code or bar code). At step 2905, the mobile device 110 maygenerate a display and the POS device 140 may optically scan thedisplayed code.

At step 2906, after scanning the code from the mobile device 110, thecode and a merchant identification number from the POS device 140 istransmitted to the recipient bank computer system 170. At step 2907,after receiving the code, the recipient bank computer system 170 may beconfigured to transmit the code and the merchant identification numberto the messaging hub computer system 2810. Upon receiving the code, themessaging hub computer system 2810 may perform an initial validation ofthe code and then decode it to determine the banking institution withwhich it is associated (i.e., to determine which banking institutiongenerated the code). In some embodiments, the code or a portion of thecode may be matched with a number that identifies the bankinginstitution (e.g., the last three or four digits may be used to access alookup table).

Next, at step 2908, the code and the merchant identification number issent to the mobile wallet bank computer system 120. At step 2909, themobile wallet bank computer system 120 confirms the code's validity.Details of the code may be compared against codes previously generatedby the mobile wallet bank computer system 120 (in this example, the codeis the same as that generated in step 2904). Additionally, the mobilewallet bank computer system may confirm that the code has not expired.For example, the code that was originally generated at step 2904 mayexpire within a predetermined period of time, such as, 15 minutes, 10minutes, 5 minutes, or another period of time. Also, the mobile walletbank computer system 120 may confirm that the code has not already beenused for another transaction.

At step 2910 a, upon verifying the code, the mobile wallet bank computersystem 120 transmits the messaging hub computer system 2810 paymentinformation (e.g. account information) for the payment account to beused for the transaction. For example, a credit card or debit cardnumber, demand deposit account or alternative payment of the user may betransmitted. Additionally, the mobile wallet bank computer system 120may send stored merchant loyalty information to the messaging hubcomputer system 2810. After step 2910 a, the messaging hub computersystem 2810 transmits the payment information and the loyaltyinformation to the recipient bank computer system 170.

Next, at step 2911, the recipient bank computer system 170 transmits theloyalty information to the POS device 140. At step 2912, the POS device140 uses the loyalty information to calculate the final transactionamount and transmits the transaction amount to the recipient bankcomputer system 170. At step 2913, upon receiving the transactionamount, the recipient bank computer system 170 processes the transactionusing the payment information received from the messaging hub computersystem 2810. For example, if a credit card number is received, therecipient bank computer system 170 may submit the credit cardtransaction for approval and the credit card transaction may beprocessed as a standard four party credit card transaction between acustomer, a merchant, an issuing bank and an acquiring bank.

Next, at step 2914, the recipient bank computer system 170 provides anindication whether the transaction is approved or declined to the POSdevice 140. Next, at step 2915, the POS device 140 prints a receipt forthe user. As another example, the user may opt via the mobile walletapplication 116 to have the receipt sent electronically to the mobiledevice 110 via the messaging hub computer system 2810.

Next at step 2916, the recipient bank computer system 170 sends providesan indication whether the transaction is approved or declined to themobile wallet bank computer system 120 through the messaging hubcomputer system 2810. At step 2917 the mobile wallet bank computersystem 120 sends a notification to the mobile wallet application. Basedon this information, a message may be displayed to the user via themobile device 110 at the point of sale indicating whether thetransaction was approved or declined.

In various embodiments, each message that is transmitted for steps 2901to 2917 includes the code to identify the transaction. The bankscomputer systems 120 and 170 and the messaging hub computer system 2810may receive the sensitive account information (e.g., credit card number)during the various steps discussed herein, however, the POS device 140or the mobile device 110 need not receive the user's accountinformation. Hence, account security may be enhanced. The messaging hubcomputer system 2810 facilitates a secure transmission of sensitiveinformation and aids the banks by providing a single point of contact.Moreover, the messaging hub computer system 2810 creates a messagingformat that each banking entity must comply with for the messages.

In the embodiment of FIG. 29 a , a code is generated on the display ofthe mobile device 110 and the code is displayed for optical scanning bythe POS device 140. Hence, the user presents the mobile device forscanning at the time of sale, creating a user experience for the userthat is somewhat similar to presentation of a credit card.

Referring now to FIG. 29 b , FIG. 29 b is a process implemented by thepayment processing system. In the embodiment shown in FIG. 29 b , thecredit card issuer bank is different than the mobile wallet applicationprovider. In FIGS. 29 b and 30 b , for simplicity mobile device 110 andmobile wallet bank computer system 120 are shown as being combined, butit will be appreciated that they operate in a manner that is similar toFIGS. 29 a and 30 a . Table 2 below describes the messages that aretransmitted in various steps and the content of the messages from FIG.29 b . Table 2 refers to an alpha wallet that represents the mobilewallet bank computer system 120 and the mobile device 110 from FIGS. 29b and 30 b . The messaging hub that is referred to in Table 2 is themessaging hub computer system 2810 from FIGS. 29 b and 30 b . The betaissuer that is referred to in Table 2 may operate or signify the cardissuer computer system 2850 from FIGS. 29 b and 30 b . The POS scannerreferred to in Table 2 is shown in FIGS. 29 b and 30 b as code scanner1704 (FIG. 28 ) or merchant computer system 140. The recipient bankcomputer system 170 shown in FIGS. 29 b and 30 b is discussed in Table 2as the gamma acquirer. FIG. 30 b is a process implemented by the paymentprocessing system from FIG. 1 . Unlike FIG. 29 b , the payment processin FIG. 30 b is initiated by the POS device 140. The steps in FIG. 30 btransmit similar information as FIG. 29 b.

TABLE 2 Msg Msg Routing Step number and Routing Info Name StepDescription Info (TO) (FROM) Payload 1751 - Customer Consumer of AlphaMobile Mobile WUI requests a Wallet or Alpha wallet wallet deviceDynamic Token makes a request for a provider (DT) Dynamic token using apreviously provisioned Payment Identifier User selects PaymentIdentifier associated with the underlying payment method 1752 - DynamicAlpha Wallet sends II: Issuer WUI: PI: Payment Token (DT) request forDynamic Identifier Wallet Identifier request sent to Token to the UserInfo Messaging Hub Messaging Hub WPI: (MH) Wallet Platform Info 1753 -Dynamic Messaging Hub (MH) II: Issuer WUI: PI: Payment Token (DT) passesrequest for Identifier Wallet Identifier request sent to Dynamic Token(DT) User Info Beta Issuer to the appropriate WPI: Issuer. WalletPlatform Info 1754 - Beta issuer Beta issuer generates a WUI: II: IssuerDT: Dynamic generates Dynamic Token in Wallet User Identifier Token.Dynamic Token Track 1 or 2 format Info and sends back to and sends itback to the WPI: the MH MH (Messaging Hub) Wallet (Messaging Hub) TheDynamic Token is Platform in Track 1 or Track 2 Info format and includesissuer specific info, dynamic data and the last 4 digits of theunderlying payment type 1755 - MH sends MH sends the WUI: II: Issuer DT:Dynamic the Dynamic Dynamic Token (DT) Wallet User Identifier TokenToken (DT) to the to the Alpha Wallet. Info Alpha Wallet WPI: WalletPlatform Info 1756 - POS The Alpha Wallet will via scan via scan DT:Dynamic Scanner reads or either display the Token accepts the DT DynamicToken as a QR Code for scanning by the POS or transmit the Dynamic Tokento the POS via other communication methods. Other communication methodsmay include NFC, Bluetooth, Hypersonic or other communicationtechnologies 1757 - POS sends Once the final II: Issuer MID: DT: Dynamicfinal purchase purchase amount is Identifier Merchant Token amount andDT to calculated, the POS as part of ID Gamma Acquirer will send theDynamic the DT Token (Track 1 or 2 Dynamic Data) to it's existing Tokenacquirer/processor 1758 - Gamma The Gamma Acquirer II: Issuer AID: DT:Dynamic Acquirer sends DT reads the II as part of Identifier AcquirerToken to MH the Dynamic Token as part of ID and sends the DT to the DTMID: the MH Dynamic Merchant Token ID 1759 - MH The MH reads the II asII: Issuer AID: DT: Dynamic receives DT and part of the DynamicIdentifier Acquirer Token routes to the Beta Token, recognizes it as aspart of ID Issuer an II and sends the DT the DT MID: to the Beta Issuer.Dynamic Merchant Token ID 1760 - Beta Issuer Beta issuer matchesACN/UPC: confirms the DT's the DT to the original Actual Card validityand PI that was associated Number/ retrieves the actual with the DT andthen Underlying card determines the Payment number/underlying underlyingpayment Credential payment credential credential 1761 - Beta Issuer AID:II: Issuer ACN/UPC: sends the Acquirer Identifier Actual Card ACN/UPC tothe ID Number/ MH MID: Underlying Merchant Payment ID Credential TraceID: A subset of the DT for the transaction that is used for issuersecurity and matching 1762 - MH Sends MH looks at the AID AID: II:Issuer ACN/UPC: the ACN/UPC to associated with the Acquirer IdentifierActual Card the Gamma message and sends the ID Number/ Acquirer alongACN/UPC to the MID: Underlying with a Trace ID. appropriate acquirer.Merchant Payment ID Credential Trace ID: A subset of the DT for thetransaction that is used for issuer security and matching 1763 - GammaGamma Acquirer ACN/UPC: Acquirer processes payment Actual Card processespayment using the ACN/UPC Number/ using the via its existing processUnderlying ACN/UPC and includes the Trace Payment ID for issuer matchingCredential and security. This results in authorization and settlement1764 - Gamma Existing process Approve/Decline Acquirer sendsApproval/Decline to the POS 1765 - POS prints Existing processApprove/Decline receipt as normal 1766 - Gamma Gamma Acquirer II: IssuerAID: Approve/Decline Acquirer sends sends Identifier AcquirerApproval/Decline Approval/Decline to ID to MH MH based upon the II MID:Merchant ID 1767 - MH sends MH sends II: Issuer AID: Approve/DeclineApproval/Decline Approval/Decline to Identifier Acquirer to the Alphathe Alpha Wallet based ID Wallet upon the II MID: Merchant ID 1768 -Alpha Alpha Wallets sends Wallets sends an an email and push email andpush notification to the notification to the Alpha Wallet User AlphaWallet User

Referring now to FIG. 30 a , FIG. 30 a is a process implemented by thepayment processing system of FIGS. 1, 17 and 28 . In the embodiment ofFIG. 30 , a code is generated and displayed by the POS device 140 andoptically scanned by the mobile device 110. Such an arrangement avoidsthe need for the POS (Point of Sale) device 140 to include a scanner.

Specifically, in the embodiment shown in FIG. 30 , at step 3001, theuser may select using a mobile device 110 as a payment option at the POSdevice 140. Upon receiving the user input, the POS device 140 sends arequest to the recipient bank computer system 170, specifically, arequest for a numerical code, a QR code or other code as describedherein. In response, at step 3002, the recipient bank computer system170 creates the code (e.g. numerical, barcode, or QR code, etc). Therecipient bank computer system 170 may send the code to POS device 140for display on POS terminal screen or printed on a receipt. At step3003, the mobile device 110 may receive the code by using a camera. Auser may access the mobile wallet application in the mobile device 110and request that a payment be made. Upon scanning or taking a picture ofthe code that is displayed on the POS device 140 at step 3003, themobile device 110 may transmit the code to the mobile wallet bankcomputer system 120 at step 3004. Next, at step 3005, the mobile walletbank computer system 120 sends the code to the messaging hub computersystem 2810. The messaging hub computer system 2810, at step 3006, sendsthe code to the recipient bank computer system 170. At step 3007, therecipient bank computer system 170 determines the validity of the codeand also determines the whether the codes is expired, not previouslyused, etc. The recipient bank computer system 170 accesses the databaseand determines the merchant identification for the POS device 140. Themerchant identification is transmitted from the recipient bank computersystem 170 to the messaging hub computer system 2810 and the messaginghub computer system 2810 transmits the merchant identification to themobile wallet bank computer system 120. The mobile wallet bank computersystem 120 receives the merchant identification and the transactioncode.

At step 3008, the mobile wallet bank computer system 120 sends thepayment information regarding user payment account and any storedmerchant loyalty information to the recipient bank computer system 170through the messaging hub computer system 2810. Next, at step 3009, therecipient bank computer system 170 may transmit the loyalty informationto the POS device 140 to be displayed for the user. Next, at step 3010,based on the loyalty information, the final transaction amount isdetermined by the POS device 140 and transmitted to the recipient bankcomputer system 170. The recipient bank computer system 170 receives thetransaction amount and processes the transaction using the paymentinformation that the recipient bank computer system 170 received fromthe mobile wallet bank computer system 120, at step 3011. The recipientbank computer system 170 also determines whether the transaction isapproved or denied.

At step 3012, the approval or denial is transmitted to the POS device140. Next, at step 3013, the POS device 140 prints a receipt or sends areceipt to the user. Next, at step 3014, the recipient bank computersystem 170 sends an approval and/or decline message to the mobile walletbank computer system 120 via a messaging hub computer system 2810. Themobile wallet bank computer system 120 transmits a notification to themobile device 110 to inform the mobile device 110 regarding the approvalor decline decisions at step 3015.

The embodiments described herein have been described with reference todrawings. The drawings illustrate certain details of specificembodiments that implement the systems, methods and programs describedherein. However, describing the embodiments with drawings should not beconstrued as imposing on the disclosure any limitations that may bepresent in the drawings. The present embodiments contemplate methods,systems and program products on any machine-readable media foraccomplishing its operations. The embodiments of may be implementedusing an existing computer processor, or by a special purpose computerprocessor incorporated for this or another purpose or by a hardwiredsystem.

As noted above, embodiments within the scope of this disclosure includeprogram products comprising non-transitory machine-readable media forcarrying or having machine-executable instructions or data structuresstored thereon. Such machine-readable media can be any available mediathat can be accessed by a general purpose or special purpose computer orother machine with a processor. By way of example, such machine-readablemedia can comprise RAM, ROM, EPROM, EEPROM, CD-ROM or other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium which can be used to carry or store desired program code inthe form of machine-executable instructions or data structures and whichcan be accessed by a general purpose or special purpose computer orother machine with a processor. Combinations of the above are alsoincluded within the scope of machine-readable media. Machine-executableinstructions comprise, for example, instructions and data which cause ageneral purpose computer, special purpose computer, or special purposeprocessing machines to perform a certain function or group of functions.

Embodiments have been described in the general context of method stepswhich may be implemented in one embodiment by a program productincluding machine-executable instructions, such as program code, forexample in the form of program modules executed by machines in networkedenvironments. Generally, program modules include routines, programs,objects, components, data structures, etc. that perform particular tasksor implement particular abstract data types. Machine-executableinstructions, associated data structures, and program modules representexamples of program code for executing steps of the methods disclosedherein. The particular sequence of such executable instructions orassociated data structures represent examples of corresponding acts forimplementing the functions described in such steps.

As previously indicated, embodiments may be practiced in a networkedenvironment using logical connections to one or more remote computershaving processors. Those skilled in the art will appreciate that suchnetwork computing environments may encompass many types of computers,including personal computers, hand-held devices, multi-processorsystems, microprocessor-based or programmable consumer electronics,network PCs, minicomputers, mainframe computers, and so on. Embodimentsmay also be practiced in distributed computing environments where tasksare performed by local and remote processing devices that are linked(either by hardwired links, wireless links, or by a combination ofhardwired or wireless links) through a communications network. In adistributed computing environment, program modules may be located inboth local and remote memory storage devices.

An exemplary system for implementing the overall system or portions ofthe embodiments might include a general purpose computing computers inthe form of computers, including a processing unit, a system memory, anda system bus that couples various system components including the systemmemory to the processing unit. The system memory may include read onlymemory (ROM) and random access memory (RAM). The computer may alsoinclude a magnetic hard disk drive for reading from and writing to amagnetic hard disk, a magnetic disk drive for reading from or writing toa removable magnetic disk, and an optical disk drive for reading from orwriting to a removable optical disk such as a CD ROM or other opticalmedia. The drives and their associated machine-readable media providenonvolatile storage of machine-executable instructions, data structures,program modules and other data for the computer. It should also be notedthat the word “terminal” as used herein is intended to encompasscomputer input and output devices. Input devices, as described herein,include a keyboard, a keypad, a mouse, joystick or other input devicesperforming a similar function. The output devices, as described herein,include a computer monitor, printer, facsimile machine, or other outputdevices performing a similar function.

It should be noted that although the diagrams herein may show a specificorder and composition of method steps, it is understood that the orderof these steps may differ from what is depicted. For example, two ormore steps may be performed concurrently or with partial concurrence.Also, some method steps that are performed as discrete steps may becombined, steps being performed as a combined step may be separated intodiscrete steps, the sequence of certain processes may be reversed orotherwise varied, and the nature or number of discrete processes may bealtered or varied. The order or sequence of any element or apparatus maybe varied or substituted according to alternative embodiments.Accordingly, all such modifications are intended to be included withinthe scope of the present disclosure as defined in the appended claims.Such variations will depend on the software and hardware systems chosenand on designer choice. It is understood that all such variations arewithin the scope of the disclosure. Likewise, software and webimplementations of the present disclosure could be accomplished withstandard programming techniques with rule based logic and other logic toaccomplish the various database searching steps, correlation steps,comparison steps and decision steps.

The foregoing description of embodiments has been presented for purposesof illustration and description. It is not intended to be exhaustive orto limit the disclosure to the precise form disclosed, and modificationsand variations are possible in light of the above teachings or may beacquired from this disclosure. The embodiments were chosen and describedin order to explain the principals of the disclosure and its practicalapplication to enable one skilled in the art to utilize the variousembodiments and with various modifications as are suited to theparticular use contemplated. Other substitutions, modifications, changesand omissions may be made in the design, operating conditions andarrangement of the embodiments without departing from the scope of thepresent disclosure as expressed in the appended claims.

What is claimed is:
 1. A computer system, comprising: one or moreprocessors; and machine readable storage media coupled to the one ormore processors and having instructions stored therein that areexecutable by the one or more processors to process a transactionbetween a payor and a payee, the instructions, when executed by the oneor more processors, cause the computer system to: receive a request fora code on behalf of the payor; route the request to a first computingsystem; receive, from a second computing system, a message including apayee identifier and the code, the code including account information ofthe payor; identify the first computing system based on the code; routethe code and the payee identifier to the first computing system;receive, from the first computing system, the account information of thepayor based on the code; and route the account information of the payorto the second computing system to process a payment from the payor tothe payee.
 2. The computer system of claim 1, wherein the code expiresafter a predefined period of time.
 3. The computer system of claim 1,wherein the instructions, when executed by the one or more processors,further cause the computer system to: receive the code from the firstcomputing system, wherein the code includes information regarding thefirst computing system.
 4. The computer system of claim 1, wherein theinstructions, when executed by the one or more processors, further causethe computer system to: route the code to a mobile device of the payor.5. The computer system of claim 4, wherein the code is transmittable asnear field communication data.
 6. The computer system of claim 1,wherein the instructions, when executed by the one or more processors,further cause the computer system to: in response to receiving anindication that the transaction has been approved from the firstcomputing system, transmit stored payee loyalty information to thesecond computing system based on the payee identifier.
 7. The computersystem of claim 1, wherein the code is displayable as a scannable codeby one or both of a point of sale device of the payee and a mobiledevice of the payor.
 8. A computer-implemented method for processing atransaction between a payee and a payor, the method comprising:receiving a request for a code on behalf of the payor; routing therequest to a first computing system; receiving, from a second computingsystem, a message including a payee identifier and the code, the codeincluding account information of the payor; identifying the firstcomputing system based on the code; routing the code and the payeeidentifier to the first computing system; receiving, from the firstcomputing system, the account information of the payor based on thecode; and routing the account information of the payor to the secondcomputing system to process a payment from the payor to the payee. 9.The method of claim 8, wherein the code expires after a predefinedperiod of time.
 10. The method of claim 8, further comprising receivingthe code from the first computing system, wherein the code includesinformation regarding the first computing system.
 11. The method ofclaim 10, further comprising routing the code to a mobile device of thepayor.
 12. The method of claim 11, wherein the code is transmittable asnear field communication data.
 13. The method of claim 8, furthercomprising: in response to receiving an indication that the transactionhas been approved from the first computing system, transmitting storedpayee loyalty information to the second computing system based on thepayee identifier.
 14. The method of claim 8, wherein the code isdisplayable as a scannable code by one or both of a point of sale deviceof the payee and a mobile device of the payor.
 15. A non-transitorycomputer-readable medium storing instructions that, when executed by oneor more processors cause operations to process a transaction between apayor and a payee, the operations comprising: receiving a request for acode on behalf of the payor; routing the request to a first computingsystem; receiving, from a second computing system, a message including apayee identifier and the code, the code including account information ofthe payor; identifying the first computing system based on the code;routing the code and the payee identifier to the first computing system;receiving, from the first computing system, the account information ofthe payor based on the code; and routing the account information of thepayor to the second computing system to process a payment from the payorto the payee.
 16. The non-transitory computer-readable medium of claim15, wherein the code expires after a predetermined period of time. 17.The non-transitory computer-readable medium of claim 15, the operationsfurther comprising receiving the code from the first computing system,wherein the code includes information regarding the first computingsystem.
 18. The non-transitory computer-readable medium of claim 15,wherein the code is transmittable via near field communication data. 19.The non-transitory computer-readable medium of claim 15, the operationsfurther comprising: receiving an indication that the transaction hasbeen approved via a mobile device of the payor; and transmitting storedpayee loyalty information to the second computing system based on thepayee identifier.
 20. The non-transitory computer-readable medium ofclaim 15, wherein the code is displayable as a scannable code by one orboth of a point of sale device of the payee and a mobile device of thepayor.